package com.example.myutil;

import java.util.ArrayList;
import java.util.List;

public class GeneralTree {
	private List<Node> lst = new ArrayList<Node>();

	class Node {
		public String data;
		public String parent;
	}

	public void addNode(String parent, String child) {
		Node t = new Node();
		t.data = child;
		t.parent = parent;
		lst.add(t);
	}

	public String getParent(String x) {
		for (int i = 0; i < lst.size(); i++) {
			if (lst.get(i).data.equals(x))
				return lst.get(i).parent;
		}
		return null;
	}

	public List<String> getChild(String x) {
		List<String> t = new ArrayList<String>();
		for (int i = 0; i < lst.size(); i++) {
			if (lst.get(i).parent.equals(x))
				t.add(lst.get(i).data);
		}
		return t;
	}

//	public static void main(String[] args) {
//		GeneralTree t = new GeneralTree();
//		t.addNode("世界", "亚洲");
//		t.addNode("世界", "欧洲");
//		t.addNode("世界", "美洲");
//		t.addNode("亚洲", "中国");
//		t.addNode("亚洲", "日本");
//		t.addNode("亚洲", "韩国");
//		t.addNode("中国", "湖北");
//		t.addNode("中国", "北京");
//		t.addNode("中国", "上海");
//		t.addNode("日本", "东京");
//
//		String node1="北京";
//		String node2="日本";
//		
//		
//		List<String> list1 = new ArrayList<String>();
//		t.getParentList(node1, list1);
//		for(String temp : list1){
//		}
//		List<String> list2 = new ArrayList<String>();
//		t.getParentList(node2, list2);
//		for(String temp : list2){
//		}
//
//		String value = "";
//		for(String temp1 : list2){
//			if(!"".equals(value)) break;
//			for(String temp2 : list1){
//				if(temp1.equals(temp2)){
//					value=temp1;
//					break;
//				}
//			}
//		}
//	}
	
	public void getParentList(String node, List<String> list) {
		if(null!=node && !"null".equals(node)){
			list.add(node);
			getParentList(getParent(node), list);
		}
	}
	
}
